package com.cotasul.tela;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

import com.cotasul.bean.FormaPagamentoBean;
import com.cotasul.bean.FornecedorBean;
import com.cotasul.negocio.FormaPagamentoServico;
import com.cotasul.tela.datamodel.FormaPagamentoDataModel;

@ViewScoped
@ManagedBean
public class FormaPagamentoModalPesquisaTela {
	private String descricao;

	private String valorCombo;

	private FormaPagamentoServico<FormaPagamentoBean> formaServico;

	private FormaPagamentoDataModel listaFormaModel;

	@ManagedProperty(value = "#{fornecedorBean}")
	private FornecedorBean fornecedor;

	public static FormaPagamentoBean forma;

	public FormaPagamentoModalPesquisaTela() {
		formaServico = new FormaPagamentoServico<FormaPagamentoBean>();
		listaFormaModel = new FormaPagamentoDataModel(
				new ArrayList<FormaPagamentoBean>());
		forma = new FormaPagamentoBean();
	}

	public void pesquisarFormaPagamento() {
		FacesMessage msg = null;
		Map<String, String> param = new HashMap<String, String>();
		try {
			if (descricao != null && !"".equals(descricao.trim())) {
				param.put(valorCombo, descricao);
				param.put("CODFORNE", fornecedor.getCodigo() + "");
				this.listaFormaModel = new FormaPagamentoDataModel(
						this.formaServico.buscaFormas(param));
			}
		} catch (NumberFormatException e1) {
			msg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
					this.formaServico.getValor("msg_header_erro"),
					this.formaServico.getValor("label_conversao"));
			FacesContext.getCurrentInstance().addMessage(null, msg);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public String getValorCombo() {
		return valorCombo;
	}

	public void setValorCombo(String valorCombo) {
		this.valorCombo = valorCombo;
	}

	public FormaPagamentoServico<FormaPagamentoBean> getFormaServico() {
		return formaServico;
	}

	public void setFormaServico(
			FormaPagamentoServico<FormaPagamentoBean> formaServico) {
		this.formaServico = formaServico;
	}

	public FormaPagamentoDataModel getListaFormaModel() {
		return listaFormaModel;
	}

	public void setListaFormaModel(FormaPagamentoDataModel listaFormaModel) {
		this.listaFormaModel = listaFormaModel;
	}

	public FormaPagamentoBean getForma() {
		return forma;
	}

	@SuppressWarnings("static-access")
	public void setForma(FormaPagamentoBean forma) {
		this.forma = forma;
	}

	public FornecedorBean getFornecedor() {
		return fornecedor;
	}

	public void setFornecedor(FornecedorBean fornecedor) {
		this.fornecedor = fornecedor;
	}

}
